package com.woniu108.car.client;

import com.woniu108.carService.commos.dto.AdminInfoDto;
import com.woniu108.carService.commos.dto.UserInfoDto;
import com.woniu108.carService.commos.model.Result;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestParam;

/**
 * @author 谭鹏
 */
@FeignClient(name = "person-server",path = "/person")
public interface PersonClient {
    /**
     *  通过id查管理员信息
     * @param adminId 管理员id
     * @return 管理员信息
     */
    @GetMapping("/adminInfo/getByAdminId/{adminId}.api")
    Result<AdminInfoDto> getByAdminId(@PathVariable("adminId")String adminId);
    /**
     * 根据id查找单个用户
     * @param userId 用户id
     * @return 用户信息
     */
    @GetMapping("/userInfo/getByUserId/{userId}.c")
     Result<UserInfoDto> getByUserId(@PathVariable("userId")String userId);

    /**
     * 添加管理员操作历史记录
     * @param adminId 管理员编号
     * @param methodName 操作功能名称
     * @return result 是否正常访问接口结果
     */
    @GetMapping("/adminHistory/addAdminHistory.api")
    @ApiOperation("添加管理员操作历史记录")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "adminId",value = "管理员编号"),
            @ApiImplicitParam(name = "methodName",value = "操作功能名称")
    })
    public Result addAdminHistory(@RequestParam("adminId") String adminId, @RequestParam("methodName") String methodName);
}
